Skip to main content

Prometheus

Prometheus ist ein Open-Source-System zur Überwachung und Alarmierung, das Metriken in einer Zeitreihen-Datenbank (TSDB) speichert.


1. Installations-Optionen

Es gibt drei Wege, Prometheus aufzusetzen:

  • Binaries: Vorkompilierte Pakete für die meisten offiziellen Komponenten.
  • Source: Manuelles Bauen mittels Makefile aus dem jeweiligen Repository.
  • Docker: Offizielle Images sind auf Quay.io oder Docker Hub verfügbar.

2. Docker Deployment (Quick Start)

Der schnellste Weg, um Prometheus mit einer Beispielkonfiguration auf Port 9090 zu starten:

docker run -p 9090:9090 prom/prometheus

3. Datenpersistenz & Volumes

Da Container-Daten beim Neustart gelöscht werden, ist für Produktionseinsätze ein Named Volume für das Verzeichnis /prometheus erforderlich.

# 1. Volume erstellen
docker volume create prometheus-data

# 2. Prometheus mit persistentem Speicher starten
docker run \
-p 9090:9090 \
-v /pfad/zu/prometheus.yml:/etc/prometheus/prometheus.yml \
-v prometheus-data:/prometheus \
prom/prometheus

4. Konfiguration einbinden (prometheus.yml)

Um eigene Konfigurationen zu nutzen, gibt es zwei gängige Methoden:

Methode A: Bind-Mount (Host-Datei)

docker run \
-p 9090:9090 \
-v /pfad/zu/prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheus

Methode B: Custom Image (Baking)

Ideal für statische Konfigurationen über verschiedene Umgebungen hinweg.

Dockerfile:

FROM prom/prometheus
ADD prometheus.yml /etc/prometheus/

Bauen & Ausführen:

docker build -t my-prometheus .
docker run -p 9090:9090 my-prometheus

5. Wichtige Hinweise

  • Kommandozeilenparameter: Zusätzliche Parameter beim docker run überschreiben die Standardwerte des Docker-Images und müssen manuell wieder hinzugefügt werden.
  • Konfigurations-Check: Nutze das Tool promtool, um die Syntax deiner prometheus.yml vor dem Start zu prüfen.
  • Sicherheit: Prometheus bietet standardmäßig keine Authentifizierung; für öffentliche Netze sollte ein Reverse Proxy vorgeschaltet werden.